package com.nineclock.attendance.service;

import com.nineclock.attendance.dto.AttendPunchDTO;
import com.nineclock.attendance.dto.AttendPunchUserWholeDayDTO;

import java.io.IOException;
import java.util.List;

public interface AttendPunchService {

    /**
     * 移动端上下班打卡
     * @param attendPunchDTO
     */
    public void punch(AttendPunchDTO attendPunchDTO);

    /**
     * 根据系统用户ID获取全天的打卡数据
     * @return
     */
    public AttendPunchUserWholeDayDTO queryPunchRecord();
    /**
     * 查询指定时间段内的考勤列表数据
     * @param startTime
     * @param endTime
     * @return
     */
    public List<AttendPunchDTO> queryMembers(String startTime, String endTime);

    /**
     * 导出指定时间段内的指定员工的考勤数据
     * @param startTime
     * @param endTime
     * @throws IOException
     */
    public void exportAttendData(String startTime, String endTime) throws IOException;

    /**
     * 生成excel文件, 输出到本地， 返回文件的地址
     * @return
     */
    String generateExcelReportByCompanyId(Long companyId);

 }  